package com.mcxx.convert;

import com.mcxx.modules.miniSalvation.fundpay.dto.*;
import com.mcxx.modules.miniSalvation.fundpay.entity.*;
import com.mcxx.modules.temporary.fundpay.entity.TmpFundPayFamilyEntity;
import com.mcxx.util.Constant;
import com.yinhai.ta404.core.utils.UUIDUtils;
import org.springframework.beans.BeanUtils;

import java.util.Date;
import java.util.List;


public class FundPayConvert {


    public static FundPayEntity convertFundPayEntity(CapitalFundPayDTO capitalFundPayDTO){
        FundPayEntity fundPayEntity = new FundPayEntity();
        BeanUtils.copyProperties(capitalFundPayDTO, fundPayEntity);
        return fundPayEntity;
    }


    public static FundPayEntity convertFundPayEntity(StandFundPayDTO standFundPayDTO){
        FundPayEntity fundPayEntity = new FundPayEntity();
        BeanUtils.copyProperties(standFundPayDTO, fundPayEntity);
        return fundPayEntity;
    }


    public static FundPayEntity convertFundPayEntity(AllowanceFundPayDTO allowanceFundPayDTO){
        FundPayEntity fundPayEntity = new FundPayEntity();
        BeanUtils.copyProperties(allowanceFundPayDTO, fundPayEntity);
        return fundPayEntity;
    }


    public static FundPayEntity convertFundPayEntity(CustomFundPayDTO customFundPayDTO){
        FundPayEntity fundPayEntity = new FundPayEntity();
        BeanUtils.copyProperties(customFundPayDTO, fundPayEntity);
        return fundPayEntity;
    }


    public static CustomFundPayMemberEntity convertCustomFundPayMemberEntity(CustomFundPayMemberDTO customFundPayMemberDTO){
        CustomFundPayMemberEntity customFundPayMemberEntity = new CustomFundPayMemberEntity();
        BeanUtils.copyProperties(customFundPayMemberDTO, customFundPayMemberEntity);
        return customFundPayMemberEntity;
    }


    public static FundPayEntity convertFundPayEntity(FuneralFundPayDTO funeralFundPayDTO){
        FundPayEntity fundPayEntity = new FundPayEntity();
        BeanUtils.copyProperties(funeralFundPayDTO, fundPayEntity);
        return fundPayEntity;
    }


    public static FundpayExceptionEntity convertFundpayExceptionEntity(FundPayFamilyEntity entity) {
        FundpayExceptionEntity exceptionEntity = new FundpayExceptionEntity();
        exceptionEntity.setId(Constant.getUUID());
        exceptionEntity.setAreaCode(entity.getAreaCode());
        exceptionEntity.setName(entity.getName());
        exceptionEntity.setIdcard(entity.getIdcard());
        exceptionEntity.setFundpayId(entity.getFundPayId());
        exceptionEntity.setOrderId(entity.getOrderId());
        exceptionEntity.setFamilyId(entity.getFamilyId());
        exceptionEntity.setMemberId(entity.getMemberId());
        exceptionEntity.setSaveNumber(entity.getPersonNumber());
        exceptionEntity.setSalaryNumber(entity.getFundNumber());
        exceptionEntity.setStatus(Constant.FundpayException.STATE_INIT);
        exceptionEntity.setFundpayType(Constant.FundpayException.F_TYPE_NORMAL);
        return exceptionEntity;
    }


    public static FundpayExceptionEntity convertFundpayExceptionEntity(TmpFundPayFamilyEntity entity) {
        FundpayExceptionEntity exceptionEntity = new FundpayExceptionEntity();
        exceptionEntity.setId(Constant.getUUID());
        exceptionEntity.setAreaCode(entity.getAreaCode());
        exceptionEntity.setName(entity.getName());
        exceptionEntity.setIdcard(entity.getIdcard());
        exceptionEntity.setFundpayId(entity.getFundPayId());
        exceptionEntity.setOrderId(entity.getOrderId());
        exceptionEntity.setFamilyId(entity.getFamilyId());
        exceptionEntity.setMemberId(entity.getMemberId());
        exceptionEntity.setSaveNumber(entity.getPersonNumber());
        exceptionEntity.setSalaryNumber(entity.getFundNumber());
        exceptionEntity.setStatus(Constant.FundpayException.STATE_INIT);
        exceptionEntity.setFundpayType(Constant.FundpayException.F_TYPE_TEMP);
        return exceptionEntity;
    }


    public static FundpayExceptionEntity convertFundpayExceptionEntity(SingleFundPayMemberEntity entity) {
        FundpayExceptionEntity exceptionEntity = new FundpayExceptionEntity();
        exceptionEntity.setId(Constant.getUUID());
        exceptionEntity.setAreaCode(entity.getAreaCode());
        exceptionEntity.setName(entity.getName());
        exceptionEntity.setIdcard(entity.getIdcard());
        exceptionEntity.setFundpayId(entity.getFundPayId());
        exceptionEntity.setOrderId(entity.getOrderId());
        exceptionEntity.setFamilyId(entity.getFamilyId());
        exceptionEntity.setMemberId(entity.getMemberId());
        exceptionEntity.setSaveNumber(entity.getPersonNumber());
        exceptionEntity.setSalaryNumber(entity.getFundNumber());
        exceptionEntity.setStatus(Constant.FundpayException.STATE_INIT);
        exceptionEntity.setFundpayType(Constant.FundpayException.F_TYPE_NORMAL);
        return exceptionEntity;
    }
}
